The present invention relates generally to communication networks, and, more particularly, to a system for creating a session entry and forwarding Internet protocol (IP) packets based on the session entry.
A communication network typically includes multiple digital systems such as gateways, switches, access points and base stations that manage transmission of IP packets over the communication network. In most communication networks, the operation of forwarding IP packets (also referred to as “data plane”) is de-coupled from the operation of processing the IP packets (also referred to as “control plane”) to optimize IP packet transmission.
A communication system includes a control plane for processing IP packets and a data plane for forwarding the IP packets based on a session entry. The data plane and the control plane include data plane and control plane processors, respectively. The data plane further includes a memory that stores a session table including session entries. When the data plane processor receives a first IP packet, it scans the session table for a first session entry corresponding to the first IP packet. The data plane processor matches a first set of fields of the first IP packet with a corresponding set of fields of the first session entry, and then forwards the first IP packet based on the first session entry. If the session table does not include the first session entry, the first processor forwards the first IP packet to the control plane processor. The control plane processor then processes the first IP packet and generates the first session entry. The control plane processor also stores the first session entry in the session table so that the data plane processor can forward the first IP packet based on the first session entry.
Similarly, the data plane processor receives a second IP packet including a second set of fields. All fields except the source port field of the second set of fields match those in the first set of fields. The data plane processor scans the session table for a second session entry corresponding to the second IP packet. If the session table does not include the second session entry, the data plane processor forwards the second IP packet to the control plane processor for generating the second session entry in the session table. Thus, forwarding the second IP packet to the control plane processor to create the second session entry increases the time required to forward the second IP packet. Further, it decreases the number of sessions created by the system per second (also known as a “connection rate”).
It would be advantageous to have a communication system that improves on the time required to forward IP packets and the connection rate.